2026-10-18T10:55:53.5599133Z ##[group]Run node --test plugins/claude-code/test/hooks.test.mjs
2026-10-18T10:55:53.5600752Z [36;1mnode --test plugins/claude-code/test/hooks.test.mjs[0m
2026-10-18T10:55:53.5600810Z shell: /usr/bin/bash -e {0}
2026-10-18T10:55:53.5600842Z env:
2026-10-18T10:55:53.5600871Z   CARGO_TERM_COLOR: never
2026-10-18T10:55:53.5600885Z   WRANGLER_SEND_METRICS: false
2026-10-18T10:55:53.5600903Z ##[endgroup]
2026-10-18T10:56:00.5872568Z ▶ plan
2026-10-18T10:56:00.7410958Z   ✔ SessionStart starts the session (3.466837ms)
2026-10-18T10:56:00.7411143Z   ✔ UserPromptSubmit logs the prompt, cut to the limit (15.119519ms)
2026-10-18T10:56:00.7411267Z   ✔ a turn Claude Code starts itself for a background task is not a prompt (0.622571ms)
2026-10-18T10:56:00.7411351Z   ✔ UserPromptSubmit sends no title: g1t names the session from what it records (0.747321ms)
2026-10-18T10:56:00.7411424Z   ✔ G1T_RECORD_PROMPTS=0 keeps prompts back, and G1T_RECORD=0 everything (0.494711ms)
2026-10-18T10:56:00.7411492Z   ✔ PostToolUse sends the tool and its input's summary, never its response (3.062996ms)
2026-10-18T10:56:00.7411553Z   ✔ PostToolUse after a git push updates the head commit (1.459023ms)
2026-10-18T10:56:00.7411612Z   ✔ PostToolUse remembers the work item a command claims (0.671071ms)
2026-10-18T10:56:00.7411709Z   ✔ Stop sends a heartbeat with the transcript's usage, and SessionEnd reports it and ends the session with its reason (0.846341ms)
2026-10-18T10:56:00.7411903Z   ✔ events without a session, and other events, do nothing (0.790321ms)
2026-10-18T10:56:00.7411927Z ✔ plan (30.796809ms)
2026-10-18T10:56:00.7411942Z ▶ subagents
2026-10-18T10:56:00.7412000Z   ✔ SubagentStart starts a session of its own for the subagent (1.278332ms)
2026-10-18T10:56:00.7412088Z   ✔ SubagentStop reports its own transcript's usage and ends it with its final message, cut to the limit (604.368523ms)
2026-10-18T10:56:00.7412173Z   ✔ an Agent call gives its subagent the task, and once finished its final message, and nothing else of its answer (0.912772ms)
2026-10-18T10:56:00.7412235Z   ✔ what a subagent does is its own session's, and the files it writes are touched (6.631833ms)
2026-10-18T10:56:00.7412252Z   ✔ a skill is its name only (0.655182ms)
2026-10-18T10:56:00.7412581Z   ✔ branches made, commits, claims and g1t's MCP tools are touched (0.891461ms)
2026-10-18T10:56:00.7412683Z   ✔ a hand-off's work item comes with the session (0.22167ms)
2026-10-18T10:56:00.7412705Z ✔ subagents (616.055215ms)
2026-10-18T10:56:00.7412723Z ▶ summaries
2026-10-18T10:56:00.7412778Z   ✔ say what a tool was called with, in one short line (9.135467ms)
2026-10-18T10:56:00.7412798Z   ✔ hide what looks like a secret (1.114993ms)
2026-10-18T10:56:00.7412856Z   ✔ hide credentials wherever text is sent, and leave references alone (1.164792ms)
2026-10-18T10:56:00.7412886Z   ✔ find the work item in a branch name (1.121482ms)
2026-10-18T10:56:00.7412897Z ✔ summaries (13.108285ms)
2026-10-18T10:56:00.7412910Z ▶ the plugin's files
2026-10-18T10:56:00.7412922Z   ✔ parse as JSON (1.476413ms)
2026-10-18T10:56:00.7413007Z   ✔ the AGENTS.md snippet is the one in the docs (4.346849ms)
2026-10-18T10:56:00.7413027Z ✔ the plugin's files (6.277562ms)
2026-10-18T10:56:00.7413045Z ▶ with a working copy
2026-10-18T10:56:00.7413142Z   ✔ SessionStart gives Claude the branch's work item's work context (102.880647ms)
2026-10-18T10:56:00.7413237Z   ✔ the background half starts the session once, then logs into it (319.538929ms)
2026-10-18T10:56:00.7413333Z   ✔ a shell command's writes are this session's; what was uncommitted before it is not (242.699963ms)
2026-10-18T10:56:00.7413395Z   ✔ the CLI never guesses touched files from the whole working copy (339.564747ms)
2026-10-18T10:56:00.7413456Z   ✔ background retrieval reaches the next tool without auto-acknowledging (236.049391ms)
2026-10-18T10:56:00.7413517Z   ✔ hooks after SessionStart record; SessionEnd forgets the session (369.539385ms)
2026-10-18T10:56:00.7414050Z   ✔ a push that reached the remote updates the head commit (375.995837ms)
2026-10-18T10:56:00.7414131Z   ✔ each subagent is a session of its own under this one, whatever order its hooks arrive in (771.192351ms)
2026-10-18T10:56:00.7414227Z   ✔ five subagents of one type started at once each get their own Agent call's task, whatever order they start in (719.737413ms)
2026-10-18T10:56:00.7414337Z   ✔ a pending task is never handed to two subagents, and an exact subagent never takes another's (339.196727ms)
2026-10-18T10:56:00.7414417Z   ✔ a subagent's files give its task even when its Agent call was not kept (16.804072ms)
2026-10-18T10:56:00.7414503Z   ✔ a session started with no g1t remote is recorded once a command adds one (377.159009ms)
2026-10-18T10:56:00.7414591Z   ✔ a session given a g1t remote between prompts is recorded at the next one (123.825487ms)
2026-10-18T10:56:00.7414682Z   ✔ only commands that may add a remote look for one (18.853856ms)
2026-10-18T10:56:00.7414769Z   ✔ a subagent whose stop arrives first is started, then ended (359.472656ms)
2026-10-18T10:56:00.7414853Z   ✔ an Agent call that finished ends its subagent with what it reported (488.985783ms)
2026-10-18T10:56:00.7414951Z   ✔ a hand-off names its work item at the start (360.808388ms)
2026-10-18T10:56:00.7415043Z   ✔ a missing CLI records nothing and says so once (44.779925ms)
2026-10-18T10:56:00.7415129Z   ✔ a signed-out CLI is said once, at the next prompt (244.202796ms)
2026-10-18T10:56:00.7415184Z   ✔ outside a g1t repository nothing happens (37.764322ms)
2026-10-18T10:56:04.6067527Z   ✔ the script answers SessionStart on stdin quickly, as JSON (673.000933ms)
2026-10-18T10:56:04.7574238Z   ✔ the script prints nothing for a prompt, and never fails on bad input (184.479722ms)
2026-10-18T10:56:04.7574418Z   ✔ a CLI older than the plugin needs records nothing and says so once, with how to update it (145.219447ms)
2026-10-18T10:56:04.7574502Z   ✔ a CLI that refuses a command (exit 2) is said once, as one to update (191.700226ms)
2026-10-18T10:56:04.7574572Z   ✔ the stand-in CLI refuses what the real one refuses (19.235047ms)
2026-10-18T10:56:04.7574661Z   ✔ a session's usage is reported from its own transcript, to a CLI that takes it, and only the counts (879.980558ms)
2026-10-18T10:56:04.7574721Z   ✔ PowerShell commands are read as Bash ones are, and a subagent's act as its session (374.815565ms)
2026-10-18T10:56:04.7574797Z   ✔ a skill typed as /plugin:name is recorded once in its turn, however Claude Code then runs it (484.241873ms)
2026-10-18T10:56:04.7574872Z   ✔ with no work item in sight, Claude is told the session is recorded and when to open or claim one (36.285299ms)
2026-10-18T10:56:04.7574938Z   ✔ Claude is never nudged to retitle, and no prompt sets a title (939.592852ms)
2026-10-18T10:56:04.7574998Z   ✔ Claude's own commands get the session's id once it has started (268.830182ms)
2026-10-18T10:56:04.7575056Z   ✔ on a Node older than 18 nothing is recorded, and that is said once (19.178066ms)
2026-10-18T10:56:04.7575067Z ✔ with a working copy (10110.782985ms)
2026-10-18T10:56:04.7575124Z ✔ pending updates survive delivery and stay isolated between parent and child (7.898845ms)
2026-10-18T10:56:04.7575180Z ✔ a CLI too old to acknowledge is told to update, once per set of updates (3.088676ms)
2026-10-18T10:56:04.7575236Z ✔ an acknowledgement refreshes the inbox at once, from the shell or MCP (0.961822ms)
2026-10-18T10:56:04.7575248Z ▶ a transcript's usage
2026-10-18T10:56:04.7575302Z   ✔ counts each response once, per model and tier (2.213054ms)
2026-10-18T10:56:04.7575622Z   ✔ reads on from where it stopped, a line written in half counted once it is whole (5.31136ms)
2026-10-18T10:56:04.7575677Z   ✔ a transcript that cannot be read gives nothing, and never throws (1.322023ms)
2026-10-18T10:56:04.7575689Z ✔ a transcript's usage (9.265498ms)
2026-10-18T10:56:04.7575699Z ℹ tests 61
2026-10-18T10:56:04.7575710Z ℹ suites 6
2026-10-18T10:56:04.7575720Z ℹ pass 61
2026-10-18T10:56:04.7575730Z ℹ fail 0
2026-10-18T10:56:04.7575739Z ℹ cancelled 0
2026-10-18T10:56:04.7575749Z ℹ skipped 0
2026-10-18T10:56:04.7575761Z ℹ todo 0
2026-10-18T10:56:04.7575772Z ℹ duration_ms 10983.97965
